home *** CD-ROM | disk | FTP | other *** search
/ Scene Storm / Scene Storm - Volume 1.iso / coding / asm / utils / keylock / keylock.hex < prev   
Text File  |  1980-01-03  |  4KB  |  77 lines

  1.   file$="KeyLock" : 'v2.11
  2.   OPEN file$ FOR OUTPUT AS #1
  3.   lin=0 : a$=""
  4. Loop:
  5.   lin=lin+1
  6.   READ x$ : IF x$="**" THEN Endeth
  7. Beyond:
  8.   i=INSTR(x$," ")
  9.   IF i>0 THEN
  10.     x$=LEFT$(x$,i-1)+MID$(x$,i+1)
  11.     GOTO Beyond
  12.   END IF
  13.   x$=UCASE$(x$)
  14.   cs$=RIGHT$(x$,2) : x$=LEFT$(x$,LEN(x$)-2)
  15.   sum=0
  16.   FOR i=1 TO LEN(x$)
  17.     sum=sum+(ASC(MID$(x$,i,1)) XOR i)
  18.   NEXT i
  19.   IF (sum AND 255)<>VAL("&H"+cs$) THEN
  20.     PRINT "Checksum error in line";lin
  21.     GOTO Endeth
  22.   END IF
  23.   x$=a$+x$ : a$=""
  24.   FOR i=1 TO LEN(x$) STEP 2
  25.     IF MID$(x$,i,1) = "G" THEN
  26.       IF MID$(x$,i+2)="" THEN a$=MID$(x$,i) : GOTO Loop
  27.       y$=STRING$(ASC(MID$(x$,i+1,1))-63,VAL("&H"+MID$(x$,i+2,2)))
  28.       i=i+2
  29.     ELSE
  30.       y$=CHR$(VAL("&H"+MID$(x$,i,2)))
  31.     END IF
  32.     PRINT #1,y$;
  33.   NEXT i
  34.   GOTO Loop
  35.  
  36. Endeth:
  37.   CLOSE #1
  38.   PRINT "Operation complete"
  39.   END
  40.  
  41. 1     DATA ga0003 f3gf00 02gf00 01gb00 ddgb00 21ga00 03e9gb 00dd4e 54ffe0 f0
  42. 2     DATA 423008 ff2948 fffc70 ff2940 fff029 40ffec 42acff f842ac fff441 a8
  43. 3     DATA f9gc00 2948ff e841e8 002029 48ffe4 41e800 222948 ffe042 904be8 7e
  44. 4     DATA 002a2c 780004 43fa03 247000 4eaefd d82940 fff867 000106 2c7800 1c
  45. 5     DATA 0443fa 02fc70 004eae fdd829 40fff4 67ga00 cc45fa 028761 000136 26
  46. 6     DATA 610001 4a65ga 00e041 fa026a 700022 6cffe8 72002c 780004 4eaefe f9
  47. 7     DATA 442940 fff066 ga00a0 246cff e4157c 000400 08422a 000e42 aa000a ba
  48. 8     DATA 70ff4e aefeb6 2940ff ec6bga 008015 40000f 93c94e aefeda 254000 03
  49. 9     DATA 10206c ffe021 400026 41ea00 142088 589042 a80004 214800 08226c ae
  50. 10    DATA ffe823 4a000e 1b7c00 020008 1b7c00 780009 45fa01 5a2b4a 00122b 60
  51. 11    DATA 6cffe0 000e33 7c0009 001c23 4d0028 4eaefe 384a80 662470 0008c0 6a
  52. 12    DATA 000c08 c0000d 2c7800 044eae fec208 ga000d 671491 c82c6c fff44e 2a
  53. 13    DATA aeffa0 60dc45 fa01f5 616c60 1c226c ffe833 7c000a 001c23 4d0028 e7
  54. 14    DATA 4eaefe 384a80 660645 fa01c9 614e20 2cfff0 660c22 6cffe8 2c7800 ba
  55. 15    DATA 044eae fe3e20 2cffec 6b082c 780004 4eaefe b0226c fff420 096708 ff
  56. 16    DATA 2c7800 044eae fe6242 acfff4 226cff f82009 67082c 780004 4eaefe da
  57. 17    DATA 6242ac fff870 004e5c 4e752c 6cfff8 4eaeff c42001 670a76 00161a bd
  58. 18    DATA 240a4e aeffd0 4e7520 6cfffc 226cff e043e9 000474 1f1210 67380c aa
  59. 19    DATA 010020 67320c 010009 672c61 3a651c 1001e9 006132 651480 0112c0 b4
  60. 20    DATA 0c1000 2c57ca ffda66 065248 51caff d245fa 013d61 a4003c 00014e ea
  61. 21    DATA 7550d1 5949b3 ecffe0 67ea02 3c00fe 4e7512 180c01 006165 ga0401 78
  62. 22    DATA 002004 010030 651c0c 010009 63100c 010016 621004 010011 650a06 42
  63. 23    DATA 01000a 023c00 fe4e75 003c00 014e75 48e770 622448 362900 021428 71
  64. 24    DATA 00040c 020001 67060c 020002 661270 032200 c26800 08b240 67384a 96
  65. 25    DATA 690002 664020 102040 66d8b6 690002 671222 690026 203cga 002000 d1
  66. 26    DATA 2c7800 044eae febc20 0a4cdf 460e4e 757200 32bc00 01b029 000467 08
  67. 27    DATA 2850e9 000242 51117c gb0004 60c60c 020002 672030 280006 0c4000 d4
  68. 28    DATA 806416 321152 51b031 100466 cc0c31 gaff10 056604 426900 02117c 75
  69. 29    DATA gb0004 609269 6e7075 742e64 657669 636500 2a4b65 794c6f 636b20 73
  70. 30    DATA 312e31 342062 792053 757065 727669 736f72 20536f 667477 617265 f9
  71. 31    DATA 2031ga 39300a 0d4c6f 636b20 72656d 6f7665 640a0f 4361ga 6e6f74 d8
  72. 32    DATA 20696e 737461 ga6c0a 1a5573 616765 3a206b 65796c 6f636b 203c70 1e
  73. 33    DATA 61ga73 776f72 643e0a 696e74 756974 696f6e 2e6c69 627261 727900 67
  74. 34    DATA 646f73 2e6c69 627261 7279gb 0003ec gb0001 gb0001 gb0020 ge0003 e7
  75. 35    DATA f2ga00 03ebgb 0021ga 0003f2 99
  76.       DATA **
  77.